//
//  ContentView.swift
//  Speek
//
//  Created by ZhenyanShan on 2023/6/25.
//

//import SwiftUI
//import CoreData
//
//struct AmountData: Identifiable,Equatable {
//    let id = UUID()
//    let year: String
//    let month: String
//    let amount: Double
//}
//
//let expenseDataPoints = ["购物", "理财", "旅行", "维修", "学习", "医疗", "饮食", "娱乐", "运动", "其他"]
//let incomeDataPoints = ["工资", "奖学金", "礼物", "理财" , "其他"]
//let colors: [Color] = [Color(hex: 0x01F1E3), Color(hex: 0x8676FF), Color(hex: 0x3565FC), Color(hex: 0x83CC6F), .yellow, .purple, Color(hex: 0x3285AC), Color(hex: 0x53BC1F), .gray, .brown]
//
//struct ContentView: View {
//    
//    @State private var selectedTag: Bool = true
//    @State private var totalIncome: Double = 0
//    @State private var totalExpense: Double = 0
//    @State private var showBarChart: Bool = true
//    @State private var selectedExpense: AmountData? = nil
//    @State private var amountDatas: [AmountData] = []
//    @Binding var year : String
//    @Binding var month : String
//    @State private var dataValues: [Double] = []
//    @State private var dataPoints: [String] = []
//    @StateObject var viewModel: LineChartViewModel
//
//    
//    var body: some View {
//        VStack {
//
//                //选择分析界面显示收入支出类型
//                Picker("Transaction Type", selection: $selectedTag) {
//                    Text("收入").tag(true)
//                    Text("支出").tag(false)
//                }
//                .pickerStyle(SegmentedPickerStyle())
//                .padding(.horizontal)
//            
//            ScrollView(.vertical){
//                VStack {
//                    
//                  //点击切换柱状图/饼图按钮
//                    HStack{
//                        Button(action: {
//                            showBarChart.toggle() // 切换按钮状态
//                        }) {
//                            RoundedRectangle(cornerRadius: 10)
//                                .fill(Color(hex: 0xC0C9EA).opacity(0.3))
//                                .frame(width: 80, height: 40)
//                                .overlay(
//                                    Text(showBarChart ? "柱状图" : "饼状图")
//                                        .foregroundColor(.white)
//                                        .font(.system(size: 12))
//                                )
//                                .padding(.top, 10)
//                                .padding(.leading, 10)
//                        }
//                        .padding(.leading,10)
//                        Spacer()
//                    }
//                    Spacer()
//                    
//                    //显示图表
//                    VStack {
//                        if ((dataValues.allSatisfy { $0 == 0 }) == true){
//                            Text("当前没有可供分析的账单，")
//                            Text("快去添加账单吧～")
//                        }
//                        else{
//                            if showBarChart {
//                                BarChartView(dataPoints: $dataPoints, dataValues: $dataValues)
//                                    .offset(y:70)
//                            } else {
//                                PieChartView(dataPoints: $dataPoints, dataValues: $dataValues)
//                            }
//                        }
//                        
//                    }
//                        
//                }
//                .frame(width: 400, height: 300)
//                .background(Color(red:0.04,green: 0.09,blue: 0.16).cornerRadius(20))
//                
//                //趋势
//                TrendView
//                
//                HStack(spacing: 5){
//                    MaxAmountView(year: $year, month: $month, tag: $selectedTag)
//                    MaxChangeView(year: $year, month: $month, tag: $selectedTag)
//                }
//            }
//        }
//        .onAppear{
//            dataValues = getDataValues(tag: selectedTag, year: year, month: month)
////            getAmountDatas()
//            
//        }
//        .onChange(of: selectedTag, perform: { _ in
//            
//            //收入/支出选择变化时，改变dataPoints 和 dataValues的值
//            if selectedTag{
//                dataPoints = incomeDataPoints
//            }else{
//                dataPoints = expenseDataPoints
//            }
//            dataValues = getDataValues(tag: selectedTag, year: year, month: month)
////            getAmountDatas()
//           
//        })
//        .preferredColorScheme(ColorScheme.dark)
//    }
//    
//    
//    //获取每个数据项
//    private func getDataValues(tag: Bool, year: String, month: String) -> [Double] {
//        guard let yearInt = Int(year) else { return [] } // 使用安全解包
//        guard let monthInt = Int(month) else { return [] } // 使用安全解包
//        let totalAmount = getTotalAmount(forYear: yearInt, month: monthInt, tag: tag)
//    
//        for index in 0..<dataPoints.count {
//            let dataValue = getTotalAmount(forYear: yearInt, month: monthInt, tag: tag, selectedType: dataPoints[index]) / totalAmount
//            dataValues.append(dataValue)
//        }
//        return dataValues
//    }
//    
//    
//
//}
//
//extension Color {
//    init(hex: UInt, alpha: Double = 1.0) {
//        let red = Double((hex >> 16) & 0xFF) / 255.0
//        let green = Double((hex >> 8) & 0xFF) / 255.0
//        let blue = Double(hex & 0xFF) / 255.0
//        self.init(.sRGB, red: red, green: green, blue: blue, opacity: alpha)
//    }
//}
//
//extension ContentView{
//  
//    var TrendView: some View {
//        
//        return VStack {
//            if selectedTag{
//                Text("近六个月收入趋势")
//                    .font(.headline)
//                    .padding()
//                    .background(Color(hex: 0xC0C9EA).opacity(0.3))
//                    .background(Color(red: 0.04, green: 0.09, blue: 0.16).cornerRadius(20))
//                    .offset(x: -100, y: -35)
//            }else{
//                Text("近六个月支出趋势")
//                    .font(.headline)
//                    .padding()
//                    .background(Color(hex: 0xC0C9EA).opacity(0.3))
//                    .background(Color(red: 0.04, green: 0.09, blue: 0.16).cornerRadius(20))
//                    .offset(x: -100, y: -35)
//            }
//
//            LineChartView(data: $amountDatas, year: $year, month: $month, tag:$selectedTag, viewModel: viewModel)
//
//                .frame(width: 300, height: 250) // 调整宽度和高度
//                .padding(.top, 10) // 将折线图向上移动，与文本之间留出空间
//                .offset(y:-70)
//            
//        }
//        .frame(width: 400,height:400)
//        .background(Color(red: 0.04, green: 0.09, blue: 0.16).cornerRadius(20))
//    }
//}






